import { RouteRecordRaw, RouteRecordSingleViewWithChildren } from "vue-router";


import { ComponentOptions, ComponentPublicInstance } from "vue";
export enum TypeCssGlobalVariableEnum {
    MENU_BG='menuBg',
    MENU_TEXT='menuText',
    MENU_ACTIVE_TEXT='menuActiveText',
    MENU_HOVER='menuHover',

    SIDE_BAR_EXPAND_WIDTH_PX='sideBarExpandWidth',
    SIDE_BAR_COLLAPSE_WIDTH_PX='sideBarColappseWidth',
    SIDE_BAR_COLLAPSE_TRANSITION_DURATION_MS='sideBarTransitionDurationMs',

    LAYOUT_TAG_HEIGHT='layoutTagHeight',
    LAYOUT_HEAD_HEIGHT='layoutHeadHeight',
}


/**
 * 从vue3 中找到的定义，但vue3并未将此接口export
 */
export interface  MyTypeComponentClass {
    new (...args: any[]): ComponentPublicInstance<any, any, any, any, any>;
    __vccOpts?: ComponentOptions; //增加?, 避免ts报错
} 

type TypeRouteMeta={
    meta?:{
        title?:string,
        isNavMenu?:boolean
        icon?:string,
        affix?: boolean,
        keepAlive?: boolean,
        layerSort?:number, // 本层的排序
    }
}


export type TypeNslRouteRecord = RouteRecordRaw & TypeRouteMeta

export type TypeRouteRecordRawWithFullPath =RouteRecordRaw & {fullPath:string}







